home *** CD-ROM | disk | FTP | other *** search
- /********************************************
- ; File: MediaControl.h
- ;
- ;
- ; Copyright Apple Computer, Inc. 1991-1992
- ; All Rights Reserved
- ;
- ********************************************/
-
-
-
- #ifndef __TYPES__
- #include <TYPES.h>
- #endif
-
- #ifndef __GSOS__
- #include <GSOS.h>
- #endif
-
- #ifndef __MEDIACONTROL__
- #define __MEDIACONTROL__
-
-
-
- /* Position unit types for MCGetPosition and other calls: */
-
- #define mcInChapters 1 /* Position is measured in chapters. */
- #define mcInFrames 2 /* Position is measured in frames. */
- #define mcInTimes 3 /* Position is measured in hours,minutes,seconds,blocks. */
-
-
-
- /* Control values for MCControl: */
-
- #define mcCInit 0x0001 /* Initialize player. */
- #define mcCEject 0x0002 /* Eject disc. */
- #define mcCVideoOn 0x0003 /* Turn video on. */
- #define mcCVideoOff 0x0004 /* Turn video off. */
- #define mcCDisplayOn 0x0005 /* Turn video position display on. */
- #define mcCDisplayOff 0x0006 /* Turn video position display off. */
- #define mcCBlankVideo 0x0007 /* Blank video for next MCSearchTo. */
- #define mcCDefaultCom 0x0008 /* Set default communications. */
- #define mcCLockDev 0x0009 /* Set the device to locked. */
- #define mcCUnLockDev 0x000A /* Unlock the device. */
-
- #define mcC8Data1Stop 0x0028 /* Set 8 - data 1 - stop bit. */
- #define mcC7Data1Stop 0x0029 /* Set 7 - data 1 - stop bit. */
- #define mcC6Data1Stop 0x002A /* Set 6 - data 1 - stop bit. */
- #define mcC5Data1Stop 0x002B /* Set 5 - data 1 - stop bit. */
- #define mcC8Data2Stop 0x002C /* Set 8 - data 2 - stop bit. */
- #define mcC7Data2Stop 0x002D /* Set 7 - data 2 - stop bit. */
- #define mcC6Data2Stop 0x002E /* Set 6 - data 2 - stop bit. */
- #define mcC5Data2Stop 0x002F /* Set 5 - data 2 - stop bit. */
-
- #define mcCBaudDflt 0x0032 /* Set baud rate to control panel setting. */
- #define mcCBaud50 0x0033 /* Set 50 baud. */
- #define mcCBaud75 0x0034 /* Set 75 baud. */
- #define mcCBaud110 0x0035 /* Set 110 baud. */
- #define mcCBaud134 0x0036 /* Set 134 baud. */
- #define mcCBaud150 0x0037 /* Set 150 baud. */
- #define mcCBaud300 0x0038 /* Set 300 baud. */
- #define mcCBaud600 0x0039 /* Set 600 baud. */
- #define mcCBaud1200 0x003A /* Set 1200 baud. */
- #define mcCBaud1800 0x003B /* Set 1800 baud. */
- #define mcCBaud2400 0x003C /* Set 2400 baud. */
- #define mcCBaud3600 0x003D /* Set 3600 baud. */
- #define mcCBaud4800 0x003E /* Set 4800 baud. */
- #define mcCBaud7200 0x003F /* Set 7200 baud. */
- #define mcCBaud9600 0x0040 /* Set 9600 baud. */
- #define mcCBaud19200 0x0041 /* Set 19200 baud. */
-
- #define mcCModem 0x0064 /* Set to modem port. */
- #define mcCPrinter 0x0065 /* Set to printer port. */
-
- #define mcCIgnoreDS 0x00C8 /* Ignore "disk switched" GSOS errors. */
- #define mcCReportDS 0x00C9 /* Report "disk switched" GSOS errors. */
-
-
-
- /* Values for MCGetFeatures: */
-
- #define mcFTypes 0 /* How the disc is organized (frames, chapters, etc.). */
- #define mcFStep 1 /* Maximum fps speed value (normal is 255). */
- #define mcFRecord 2 /* Device supports MCRecord. */
- #define mcFVideo 3 /* Device supports toggling video. */
- #define mcFEject 4 /* Device supports ejecting medium. */
- #define mcFLock 5 /* Device supports user lock (locking user from physically
- operating the device). */
- #define mcFVDisplay 6 /* Device supports video display of location. */
- #define mcFVOverlay 7 /* No. of lines of overlay characters device supports. */
- #define mcFVOChars 8 /* No. of chars/line supported by overlay. */
- #define mcFVolume 9 /* Does volume control? */
-
-
- /* Status values for MCGetStatus: */
-
- #define mcSUnknown 0x0000 /* Player unable to determine this status. */
-
- #define mcSDeviceType 0x0000 /* "Device type" selector. */
- #define mcSLaserDisc 0x0001 /* Video laser disc player. */
- #define mcSCDAudio 0x0002 /* Audio CD player. */
- #define mcSCDLaserCD 0x0003 /* Combination laser/CD player. */
- #define mcSVCR 0x0004 /* VCR. */
- #define mcSCamCorder 0x0005 /* Video camera. */
-
- #define mcSPlayStatus 0x0001 /* "Play status" selector. */
- #define mcSPlaying 0x0001 /* The device is playing. */
- #define mcSStill 0x0002 /* The device is not playing (paused). */
- #define mcSParked 0x0003 /* The device is shut down. */
-
- #define mcSDoorStatus 0x0002 /* "Player door" status. */
- #define mcSDoorOpen 0x0001
- #define mcSDoorClosed 0x0002
-
- #define mcSDiscType 0x0003 /* "Disc type" selector. */
- #define mcS_CLV 0x0001 /* constant linear velocity */
- #define mcS_CAV 0x0002 /* constant angular velocity */
- #define mcS_CDV 0x0003 /* compact disc video */
- #define mcS_CD 0x0004 /* compact disc */
-
- #define mcSDiscSize 0x0004 /* "Disc size" selector. */
- #define mcSDisc3inch 0x0003
- #define mcSDisc5inch 0x0005
- #define mcSDisc8inch 0x0008
- #define mcSDisc12inch 0x000C
-
- #define mcSDiscSide 0x0005 /* "Disc side" selector. */
- #define mcSSideOne 0x0001
- #define mcSSideTwo 0x0002
-
- #define mcSVolumeL 0x0006 /* Current left volume selector. */
- #define mcSVolumeR 0x0007 /* Current right volume selector. */
-
-
- /* Time parameter values for MCGetTimes: */
-
- #define mcElapsedTrack 0x0000 /* Elapsed time on current track/chapter. */
- #define mcRemainTrack 0x0001 /* Remaining time on current track/chapter. */
- #define mcElapsedDisc 0x0002 /* Elapsed time on disc. */
- #define mcRemainDisc 0x0003 /* Remaining time on disc. */
- #define mcTotalDisc 0x0004 /* Total run time on disc. */
- #define mcTotalFrames 0x0005 /* Total number of frames on disc. */
- #define mcTracks 0x0006 /* Binary start and ending track numbers (bits 31-16 = ending,
- bits 15-0 = starting track number.) */
- #define mcDiscID 0x0007 /* returns a disc identifier */
-
-
- /* Audio values: */
-
- #define mcAudioOff 0x0000 /* Audio off. */
- #define mcAudioRight 0x0001 /* Audio thru right channel only. */
- #define mcAudioLinR 0x0002 /* Audio left in right only. */
- #define mcAudioMinR 0x0003 /* Audio mixed in right only. */
- #define mcAudioRinL 0x0004 /* Audio right in left only. */
- #define mcAudioRinLR 0x0005 /* Audio right in left and right. */
- #define mcAudioReverse 0x0006 /* Audio right in left, left in right. */
- #define mcAudioRinLMR 0x0007 /* Audio right in left, mixed in right. */
- #define mcAudioLeft 0x0008 /* Audio left channel only. */
- #define mcAudioStereo 0x0009 /* Audio both channels (in stereo). */
- #define mcAudioLinLR 0x000A /* Audio left in left and right. */
- #define mcAudioLinLMR 0x000B /* Audio left in left, mixed in right. */
- #define mcAudioMinL 0x000C /* Audio mixed in left only. */
- #define mcAudioMinLRinR 0x000D /* Audio mixed in left, right in right. */
- #define mcAudioMinLLinR 0x000E /* Audio mixed in left, left in right. */
- #define mcAudioMonaural 0x000F /* Audio mixed in left and right (monaural). */
-
-
-
- /* Error codes: */
-
- #define mcUnImp 0x2601 /* Unimplemented for this device. */
- #define mcNotApplic 0x2601 /* <see UnImp> */
- #define mcBadSpeed 0x2602 /* Invalid speed specified. */
- #define mcBadUnitType 0x2603 /* Invalid unit type specified. */
- #define mcTimeOutErr 0x2604 /* Timed out during device read. */
- #define mcNotLoaded 0x2605 /* No driver is currently loaded. */
- #define mcBadAudio 0x2606 /* Invalid audio value. */
- #define mcDevRtnError 0x2607 /* Device returned error (unable to perform). */
- #define mcUnRecStatus 0x2608 /* Unrecognizable status from device. */
- #define mcBadSelector 0x2609 /* Invalid selector value specified. */
- #define mcFunnyData 0x260A /* Funny data received (try again). */
- #define mcInvalidPort 0x260B /* Invalid port specified. */
- #define mcOnlyOnce 0x260C /* Scans only once. */
- #define mcNoResMgr 0x260D /* Resource manager not active. */
- #define mcItemNotThere 0x260E /* Item not found in database. */
- #define mcWasShutDown 0x260F /* Media Control Toolset was already shut down. */
- #define mcWasStarted 0x2610 /* Media Control Toolset was already started. */
- #define mcBadChannel 0x2611 /* Invalid channel number. */
- #define mcInvalidParam 0x2612 /* Invalid parameter. */
- #define mcCallNotSupported 0x2613 /* Call is not supported. */
-
-
-
- /* Call definitions: */
-
- extern pascal void MCBootInit() inline(0x0126,dispatcher);
- extern pascal void MCStartUp() inline(0x0226,dispatcher);
- extern pascal void MCShutDown() inline(0x0326,dispatcher);
- extern pascal Word MCVersion() inline(0x0426,dispatcher);
- extern pascal void MCReset() inline(0x0526,dispatcher);
- extern pascal Boolean MCStatus() inline(0x0626,dispatcher);
-
- extern pascal void MCLoadDriver() inline(0x0A26,dispatcher);
- extern pascal void MCUnLoadDriver() inline(0x0B26,dispatcher);
- extern pascal void MCDStartUp() inline(0x1426,dispatcher);
- extern pascal void MCDShutDown() inline(0x1526,dispatcher);
-
- extern pascal Long MCBinToTime() inline(0x0D26,dispatcher);
- extern pascal void MCControl() inline(0x1B26,dispatcher);
- extern pascal Long MCGetDiscID() inline(0x2826,dispatcher);
- extern pascal void MCGetDiscTitle() inline(0x1226,dispatcher);
- extern pascal Long MCGetDiscTOC() inline(0x2726,dispatcher);
- extern pascal void MCGetErrorMsg() inline(0x0926,dispatcher);
- extern pascal Long MCGetFeatures() inline(0x1626,dispatcher);
- extern pascal void MCGetName() inline(0x2D26,dispatcher);
- extern pascal Word MCGetNoTracks() inline(0x2926,dispatcher);
- extern pascal Long MCGetPosition() inline(0x2426,dispatcher);
- extern pascal void MCGetProgram() inline(0x1026,dispatcher);
- extern pascal void MCGetSpeeds() inline(0x1D26,dispatcher);
- extern pascal Word MCGetStatus() inline(0x1A26,dispatcher);
- extern pascal Long MCGetTimes() inline(0x2626,dispatcher);
- extern pascal void MCGetTrackTitle() inline(0x0E26,dispatcher);
- extern pascal void MCJog() inline(0x2026,dispatcher);
- extern pascal void MCPause() inline(0x1826,dispatcher);
- extern pascal void MCPlay() inline(0x1726,dispatcher);
- extern pascal void MCRecord() inline(0x2A26,dispatcher);
- extern pascal void MCScan() inline(0x1C26,dispatcher);
- extern pascal Boolean MCSearchDone() inline(0x2226,dispatcher);
- extern pascal void MCSearchTo() inline(0x2126,dispatcher);
- extern pascal void MCSearchWait() inline(0x2326,dispatcher);
- extern pascal void MCSendRawData() inline(0x1926,dispatcher);
- extern pascal void MCSetAudio() inline(0x2526,dispatcher);
- extern pascal void MCSetDiscTitle() inline(0x1326,dispatcher);
- extern pascal void MCSetProgram() inline(0x1126,dispatcher);
- extern pascal void MCSetTrackTitle() inline(0x0F26,dispatcher);
- extern pascal void MCSetVolume() inline(0x2E26,dispatcher);
- extern pascal void MCSpeed() inline(0x1E26,dispatcher);
- extern pascal void MCStop() inline(0x2B26,dispatcher);
- extern pascal void MCStopAt() inline(0x1F26,dispatcher);
- extern pascal Long MCTimeToBin() inline(0x0C26,dispatcher);
- extern pascal void MCWaitRawData() inline(0x2C26,dispatcher);
-
-
- #endif
-